﻿using System;

namespace GeoAPI.Geometries
{
	public interface ICoordinateBuffer
	{
		int Capacity { get; }

		int Count { get; }

		bool AddCoordinate(double x, double y, double? z = null, double? m = null, bool allowRepeated = true);

		bool InsertCoordinate(int index, double x, double y, double? z = null, double? m = null, bool allowRepeated = true);

		void SetM(int index, double m);

		void SetZ(int index, double z);

		ICoordinateSequence ToSequence(ICoordinateSequenceFactory factory = null);
	}
}
